package jp.co.nes.awssupport.business.bean;

import jp.co.nes.awssupport.common.bean.BaseBean;

/**
 * 共通コンテナです。<br>
 * Lambda,batch等の引数、戻り値で使用するBeanクラスです。
 */
public class CommonContainerBean<T extends CommonInfoBean> extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** 処理結果 */
    public enum ProcessingResult {
        SUCCESS, SOME_FAILURE, FAILURE, WAIT
    }

    /** 処理結果 */
    private ProcessingResult processingResult;

    /** 共通情報 */
    private T infoBean;

    /**
     * デフォルトコンストラクタです。
     */
    public CommonContainerBean() {
    }

    /**
     * 共通情報を返却します。
     *
     * @return 共通情報
     */
    public T getInfoBean() {
        return infoBean;
    }

    /**
     * 共通情報を設定します。
     *
     * @param infoBean 共通情報
     */
    public void setInfoBean(T infoBean) {
        this.infoBean = infoBean;
    }

    /**
     * 処理結果を返却します。
     *
     * @return 処理結果
     */
    public ProcessingResult getProcessingResult() {
        return processingResult;
    }

    /**
     * 処理結果を設定します。
     *
     * @param processingResult 処理結果
     */
    public void setProcessingResult(ProcessingResult processingResult) {
        this.processingResult = processingResult;
    }
}
